﻿using System.Collections.Generic;
using SVGMeshUnity.Internals;
using UnityEngine;

namespace SVGMeshUnity
{
    public static class Fixtures
    {
        public static readonly string TwitterBirdPathSource =
            @"M10,0.4c-5.302,0-9.6,4.298-9.6,9.6s4.298,9.6,9.6,9.6s9.6-4.298,9.6-9.6S15.302,0.4,10,0.4z M13.905,8.264
            c0.004,0.082,0.005,0.164,0.005,0.244c0,2.5-1.901,5.381-5.379,5.381c-1.068,0-2.062-0.312-2.898-0.85
            c0.147,0.018,0.298,0.025,0.451,0.025c0.886,0,1.701-0.301,2.348-0.809c-0.827-0.016-1.525-0.562-1.766-1.312
            c0.115,0.021,0.233,0.033,0.355,0.033c0.172,0,0.34-0.023,0.498-0.066c-0.865-0.174-1.517-0.938-1.517-1.854V9.033
            C6.257,9.174,6.549,9.26,6.859,9.27C6.351,8.93,6.018,8.352,6.018,7.695c0-0.346,0.093-0.672,0.256-0.951
            c0.933,1.144,2.325,1.896,3.897,1.977c-0.033-0.139-0.049-0.283-0.049-0.432c0-1.043,0.846-1.891,1.891-1.891
            c0.543,0,1.035,0.23,1.38,0.598c0.431-0.086,0.835-0.242,1.2-0.459c-0.141,0.441-0.44,0.812-0.831,1.047
            c0.383-0.047,0.747-0.148,1.086-0.299C14.595,7.664,14.274,7.998,13.905,8.264z";

        public static readonly string TwitterBirdPathCurve =
            @"M 10 0.4 C 4.698 0.4, 0.3999996 4.698, 0.3999996 10 C 0.3999996 15.302, 4.697999 19.6, 10 19.6 C 15.302 19.6, 19.6 15.302, 19.6 10 C 19.6 4.698, 15.302 0.4, 10 0.4 M 13.905 8.264 C 13.909 8.346, 13.91 8.427999, 13.91 8.508 C 13.91 11.008, 12.009 13.889, 8.531 13.889 C 7.463 13.889, 6.469 13.577, 5.633 13.039 C 5.78 13.057, 5.931 13.064, 6.084001 13.064 C 6.970001 13.064, 7.785001 12.763, 8.432001 12.255 C 7.605001 12.239, 6.907001 11.693, 6.666001 10.943 C 6.781001 10.964, 6.899001 10.976, 7.021001 10.976 C 7.193001 10.976, 7.361001 10.953, 7.519001 10.91 C 6.654001 10.736, 6.002002 9.971999, 6.002002 9.055999 C 6.002002 9.055999, 6.002002 9.033, 6.002002 9.033 C 6.257 9.174, 6.549 9.26, 6.859 9.27 C 6.351 8.93, 6.018 8.352, 6.018 7.695 C 6.018 7.349, 6.111 7.023, 6.274 6.744 C 7.207 7.888, 8.599 8.64, 10.171 8.721001 C 10.138 8.582001, 10.122 8.438001, 10.122 8.289001 C 10.122 7.246, 10.968 6.398001, 12.013 6.398001 C 12.556 6.398001, 13.048 6.628001, 13.393 6.996001 C 13.824 6.910001, 14.228 6.754001, 14.593 6.537001 C 14.452 6.978001, 14.153 7.349, 13.762 7.584001 C 14.145 7.537001, 14.509 7.436001, 14.848 7.285001 C 14.595 7.664, 14.274 7.998, 13.905 8.264 ";

        public static List<Vector3> TwitterBirdPathCurveVertices = new List<Vector3>()
        {
            new Vector2(10f, 0.4f),
            new Vector2(9.505979430004883f, 0.4124912719726563f),
            new Vector2(8.537999318725586f, 0.5106119995117188f),
            new Vector2(7.600788242797852f, 0.7022293090820312f),
            new Vector2(6.699171398706055f, 0.9825180053710938f),
            new Vector2(5.837973982934571f, 1.3466528930664063f),
            new Vector2(5.022021191967774f, 1.789808776855469f),
            new Vector2(4.256138222290039f, 2.3071604614257812f),
            new Vector2(3.5451502703857423f, 2.8938827514648438f),
            new Vector2(2.8938825327392577f, 3.545150451660156f),
            new Vector2(2.307160205834961f, 4.25613836669922f),
            new Vector2(1.7898084861572268f, 5.0220213012695325f),
            new Vector2(1.3466525701904297f, 5.837974060058594f),
            new Vector2(0.9825176544189453f, 6.699171447753905f),
            new Vector2(0.7022289353271486f, 7.600788269042969f),
            new Vector2(0.5106116093994142f, 8.537999328613282f),
            new Vector2(0.41249087312011723f, 9.505979431152344f),
            new Vector2(0.3999996f, 10f),
            new Vector2(0.4124908702819824f, 10.494020568847656f),
            new Vector2(0.5106115855041504f, 11.462000671386718f),
            new Vector2(0.7022288735290527f, 12.399211730957031f),
            new Vector2(0.9825175422668456f, 13.300828552246093f),
            new Vector2(1.3466523996276856f, 14.162025939941405f),
            new Vector2(1.7898082535217288f, 14.977978698730467f),
            new Vector2(2.307159911859131f, 15.743861633300781f),
            new Vector2(2.893882182550049f, 16.454849548339848f),
            new Vector2(3.5451498735046383f, 17.106117248535156f),
            new Vector2(4.256137792633057f, 17.69283953857422f),
            new Vector2(5.022020747845458f, 18.21019122314453f),
            new Vector2(5.837973547052002f, 18.653347106933595f),
            new Vector2(6.699170998162842f, 19.017481994628906f),
            new Vector2(7.600787909088134f, 19.297770690917968f),
            new Vector2(8.537999087738037f, 19.489388000488283f),
            new Vector2(9.505979342022705f, 19.587508728027345f),
            new Vector2(10f, 19.6f),
            new Vector2(10.494020568847656f, 19.587508728027345f),
            new Vector2(11.462000671386718f, 19.489388000488283f),
            new Vector2(12.399211730957031f, 19.297770690917968f),
            new Vector2(13.300828552246093f, 19.017481994628906f),
            new Vector2(14.162025939941405f, 18.653347106933595f),
            new Vector2(14.977978698730467f, 18.21019122314453f),
            new Vector2(15.743861633300781f, 17.69283953857422f),
            new Vector2(16.454849548339848f, 17.106117248535156f),
            new Vector2(17.106117248535156f, 16.454849548339848f),
            new Vector2(17.69283953857422f, 15.743861633300781f),
            new Vector2(18.21019122314453f, 14.977978698730467f),
            new Vector2(18.653347106933595f, 14.162025939941405f),
            new Vector2(19.017481994628906f, 13.300828552246093f),
            new Vector2(19.297770690917968f, 12.399211730957031f),
            new Vector2(19.489388000488283f, 11.462000671386718f),
            new Vector2(19.587508728027345f, 10.494020568847656f),
            new Vector2(19.6f, 10f),
            new Vector2(19.587508728027345f, 9.505979431152344f),
            new Vector2(19.489388000488283f, 8.537999328613282f),
            new Vector2(19.297770690917968f, 7.600788269042969f),
            new Vector2(19.017481994628906f, 6.699171447753905f),
            new Vector2(18.653347106933595f, 5.837974060058594f),
            new Vector2(18.21019122314453f, 5.0220213012695325f),
            new Vector2(17.69283953857422f, 4.25613836669922f),
            new Vector2(17.106117248535156f, 3.545150451660156f),
            new Vector2(16.454849548339848f, 2.8938827514648438f),
            new Vector2(15.743861633300781f, 2.3071604614257812f),
            new Vector2(14.977978698730467f, 1.789808776855469f),
            new Vector2(14.162025939941405f, 1.3466528930664063f),
            new Vector2(13.300828552246093f, 0.9825180053710938f),
            new Vector2(12.399211730957031f, 0.7022293090820312f),
            new Vector2(11.462000671386718f, 0.5106119995117188f),
            new Vector2(10.494020568847656f, 0.4124912719726563f),
            new Vector2(13.905f, 8.264f),
            new Vector2(13.90746875f, 8.325468609375001f),
            new Vector2(13.90978125f, 8.447655828125f),
            new Vector2(13.91f, 8.508f),
            new Vector2(13.8878017578125f, 8.980418457031249f),
            new Vector2(13.711639648437501f, 9.932931152343748f),
            new Vector2(13.3629541015625f, 10.863822753906248f),
            new Vector2(12.8455419921875f, 11.734866699218749f),
            new Vector2(12.163200195312502f, 12.50783642578125f),
            new Vector2(11.319725585937501f, 13.14450537109375f),
            new Vector2(10.3189150390625f, 13.60664697265625f),
            new Vector2(9.1645654296875f, 13.85603466796875f),
            new Vector2(8.531f, 13.889f),
            new Vector2(8.1341328125f, 13.87454296875f),
            new Vector2(7.3651484375f, 13.76191015625f),
            new Vector2(6.6357265624999995f, 13.54437109375f),
            new Vector2(5.9537421875000005f, 13.22998828125f),
            new Vector2(5.633f, 13.039f),
            new Vector2(5.7439687656250005f, 13.0505f),
            new Vector2(5.969656671875f, 13.062625f),
            new Vector2(6.084001f, 13.064f),
            new Vector2(6.412733421875f, 13.050074218750002f),
            new Vector2(7.0456826406249995f, 12.941972656249998f),
            new Vector2(7.638366234375001f, 12.73421484375f),
            new Vector2(8.181690453125f, 12.43561328125f),
            new Vector2(8.432001f, 12.255f),
            new Vector2(8.1285635f, 12.224792968750002f),
            new Vector2(7.5733447499999995f, 12.03059765625f),
            new Vector2(7.112626f, 11.68349609375f),
            new Vector2(6.777157249999999f, 11.214050781249998f),
            new Vector2(6.666001f, 10.943f),
            new Vector2(6.752829125f, 10.957015625f),
            new Vector2(6.930235375f, 10.973796875000001f),
            new Vector2(7.021001f, 10.976f),
            new Vector2(7.149157250000001f, 10.971734375f),
            new Vector2(7.398719750000001f, 10.938453125f),
            new Vector2(7.519001f, 10.91f),
            new Vector2(7.205467839843751f, 10.817949175781251f),
            new Vector2(6.65888608203125f, 10.48844108984375f),
            new Vector2(6.25391379296875f, 9.999276660156248f),
            new Vector2(6.03170703515625f, 9.39151857421875f),
            new Vector2(6.002002f, 9.055999f),
            new Vector2(6.002002f, 9.05240540625f),
            new Vector2(6.002002f, 9.03659359375f),
            new Vector2(6.002002f, 9.033f),
            new Vector2(6.19989146875f, 9.128109375000001f),
            new Vector2(6.63017190625f, 9.248578125f),
            new Vector2(6.859f, 9.27f),
            new Vector2(6.67701171875f, 9.131654296874999f),
            new Vector2(6.36966015625f, 8.795478515625f),
            new Vector2(6.15015234375f, 8.392412109375f),
            new Vector2(6.03330078125f, 7.937361328125f),
            new Vector2(6.018f, 7.695f),
            new Vector2(6.035078125f, 7.439671875f),
            new Vector2(6.165234375f, 6.961640624999999f),
            new Vector2(6.274f, 6.744f),
            new Vector2(6.644845703125f, 7.154080080078124f),
            new Vector2(7.502552734375f, 7.850912162109375f),
            new Vector2(8.493150390624999f, 8.361510009765626f),
            new Vector2(9.590482421874999f, 8.659717466796875f),
            new Vector2(10.171f, 8.721001f),
            new Vector2(10.149421874999998f, 8.6158135f),
            new Vector2(10.125015625f, 8.3998135f),
            new Vector2(10.122f, 8.289001f),
            new Vector2(10.131756103515624f, 8.095882915283205f),
            new Vector2(10.206961669921876f, 7.727183978271485f),
            new Vector2(10.444787109375f, 7.232326732421876f),
            new Vector2(10.955447265624999f, 6.721315189453125f),
            new Vector2(11.450440673828126f, 6.483133970947266f),
            new Vector2(11.819552490234376f, 6.407779065185546f),
            new Vector2(12.013f, 6.398001f),
            new Vector2(12.214046875f, 6.4086025625f),
            new Vector2(12.597296875000001f, 6.4901806875f),
            new Vector2(12.947921875f, 6.645071312500001f),
            new Vector2(13.256921875000002f, 6.864649437500001f),
            new Vector2(13.393f, 6.996001f),
            new Vector2(13.711f, 6.9185166250000005f),
            new Vector2(14.312124999999998f, 6.688172874999999f),
            new Vector2(14.593f, 6.537001f),
            new Vector2(14.45865625f, 6.8535946093749995f),
            new Vector2(14.03696875f, 7.383281828125f),
            new Vector2(13.762f, 7.584001f),
            new Vector2(14.04559375f, 7.538688500000001f),
            new Vector2(14.589156249999998f, 7.3888135f),
            new Vector2(14.848f, 7.285001f),
            new Vector2(14.6458125f, 7.560453546874999f),
            new Vector2(14.172437500000001f, 8.052109390625f)
        };

        public static List<Int2> TwitterBirdPathCurveEdges = new List<Int2>()
        {
            new Int2(0, 1),
            new Int2(1, 2),
            new Int2(2, 3),
            new Int2(3, 4),
            new Int2(4, 5),
            new Int2(5, 6),
            new Int2(6, 7),
            new Int2(7, 8),
            new Int2(8, 9),
            new Int2(9, 10),
            new Int2(10, 11),
            new Int2(11, 12),
            new Int2(12, 13),
            new Int2(13, 14),
            new Int2(14, 15),
            new Int2(15, 16),
            new Int2(16, 17),
            new Int2(17, 18),
            new Int2(18, 19),
            new Int2(19, 20),
            new Int2(20, 21),
            new Int2(21, 22),
            new Int2(22, 23),
            new Int2(23, 24),
            new Int2(24, 25),
            new Int2(25, 26),
            new Int2(26, 27),
            new Int2(27, 28),
            new Int2(28, 29),
            new Int2(29, 30),
            new Int2(30, 31),
            new Int2(31, 32),
            new Int2(32, 33),
            new Int2(33, 34),
            new Int2(34, 35),
            new Int2(35, 36),
            new Int2(36, 37),
            new Int2(37, 38),
            new Int2(38, 39),
            new Int2(39, 40),
            new Int2(40, 41),
            new Int2(41, 42),
            new Int2(42, 43),
            new Int2(43, 44),
            new Int2(44, 45),
            new Int2(45, 46),
            new Int2(46, 47),
            new Int2(47, 48),
            new Int2(48, 49),
            new Int2(49, 50),
            new Int2(50, 51),
            new Int2(51, 52),
            new Int2(52, 53),
            new Int2(53, 54),
            new Int2(54, 55),
            new Int2(55, 56),
            new Int2(56, 57),
            new Int2(57, 58),
            new Int2(58, 59),
            new Int2(59, 60),
            new Int2(60, 61),
            new Int2(61, 62),
            new Int2(62, 63),
            new Int2(63, 64),
            new Int2(64, 65),
            new Int2(65, 66),
            new Int2(66, 67),
            new Int2(67, 0),
            new Int2(68, 69),
            new Int2(69, 70),
            new Int2(70, 71),
            new Int2(71, 72),
            new Int2(72, 73),
            new Int2(73, 74),
            new Int2(74, 75),
            new Int2(75, 76),
            new Int2(76, 77),
            new Int2(77, 78),
            new Int2(78, 79),
            new Int2(79, 80),
            new Int2(80, 81),
            new Int2(81, 82),
            new Int2(82, 83),
            new Int2(83, 84),
            new Int2(84, 85),
            new Int2(85, 86),
            new Int2(86, 87),
            new Int2(87, 88),
            new Int2(88, 89),
            new Int2(89, 90),
            new Int2(90, 91),
            new Int2(91, 92),
            new Int2(92, 93),
            new Int2(93, 94),
            new Int2(94, 95),
            new Int2(95, 96),
            new Int2(96, 97),
            new Int2(97, 98),
            new Int2(98, 99),
            new Int2(99, 100),
            new Int2(100, 101),
            new Int2(101, 102),
            new Int2(102, 103),
            new Int2(103, 104),
            new Int2(104, 105),
            new Int2(105, 106),
            new Int2(106, 107),
            new Int2(107, 108),
            new Int2(108, 109),
            new Int2(109, 110),
            new Int2(110, 111),
            new Int2(111, 112),
            new Int2(112, 113),
            new Int2(113, 114),
            new Int2(114, 115),
            new Int2(115, 116),
            new Int2(116, 117),
            new Int2(117, 118),
            new Int2(118, 119),
            new Int2(119, 120),
            new Int2(120, 121),
            new Int2(121, 122),
            new Int2(122, 123),
            new Int2(123, 124),
            new Int2(124, 125),
            new Int2(125, 126),
            new Int2(126, 127),
            new Int2(127, 128),
            new Int2(128, 129),
            new Int2(129, 130),
            new Int2(130, 131),
            new Int2(131, 132),
            new Int2(132, 133),
            new Int2(133, 134),
            new Int2(134, 135),
            new Int2(135, 136),
            new Int2(136, 137),
            new Int2(137, 138),
            new Int2(138, 139),
            new Int2(139, 140),
            new Int2(140, 141),
            new Int2(141, 142),
            new Int2(142, 143),
            new Int2(143, 144),
            new Int2(144, 145),
            new Int2(145, 146),
            new Int2(146, 147),
            new Int2(147, 148),
            new Int2(148, 149),
            new Int2(149, 150),
            new Int2(150, 151),
            new Int2(151, 152),
            new Int2(152, 153),
            new Int2(153, 154),
            new Int2(154, 68)
        };
    }
}